import 'package:flutter/material.dart';
import '../generated/l10n.dart';

// 快捷方式1：直接定义短名称
S get local => S.current;

// // 快捷方式2：扩展方法 【 终端执行：flutter pub run intl_utils:generate更新多语言信息 】
extension LocalizationExtension on BuildContext {
  S get s => S.of(this);

  // 判断当前是否为中文环境
  bool get isChinese {
    final locale = Localizations.localeOf(this);
    return locale.languageCode == 'zh'; // 检测简体(zh)或繁体(zh-Hant)
  }

  // 判断是否为英文环境
  bool get isEnglish {
    final locale = Localizations.localeOf(this);
    return locale.languageCode == 'en';
  }

  // 获取当前语言代码（如 'zh', 'en'）
  String get currentLanguageCode => Localizations.localeOf(this).languageCode;

  // 获取完整Locale字符串（如 'zh_CN', 'en_US'）
  String get currentLocaleString {
    final locale = Localizations.localeOf(this);
    return '${locale.languageCode}_${locale.countryCode}';
  }

  // 获取当前Locale对象
  Locale get currentLocale => Localizations.localeOf(this);
}
